const mysql = require('mysql')

var Crawler = require("crawler");

//创建一个连接
var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'lolheromsg'
});

const {
    json
} = require('express');

var c = new Crawler({
    maxConnections: 10,
    callback: function (error, res, done) {
        if (error) {
            console.log(error);
        } else {
            var $ = res.$;
            // console.log(JSON.parse(res.body));
            //应为爬回来的数据不是字符串，我们用json.parse方法将它转换成js数据方便操作
            // JSON.parse(res.body).hero[119].heroId
            JSON.parse(res.body).hero.forEach(v => {
                let heroid = v.heroId
                xiangqing.queue(`https://game.gtimg.cn/images/lol/act/img/js/hero/${heroid}.js`)
            });

        }
        done();
    }
});

//
var xiangqing = new Crawler({
    maxConnections: 10,
    callback: function (error, res, done) {
        if (error) {
            console.log(error);
        } else {
            var $ = res.$;
            //应为爬回来的数据不是字符串，我们用json.parse方法将它转换成js数据方便操作
            // console.log(res.body);
            // console.log(JSON.parse(res.body).hero);
            let heroid = JSON.parse(res.body).hero.heroId
            let name = JSON.parse(res.body).hero.name
            let title = JSON.parse(res.body).hero.title
            let passive = JSON.parse(res.body).spells[1].name
            let q = JSON.parse(res.body).spells[2].name
            let w = JSON.parse(res.body).spells[4].name
            let e = JSON.parse(res.body).spells[0].name
            let r = JSON.parse(res.body).spells[3].name
            // console.log(heroid, name, title, passive, q, w, e, r);
            connection.query(`insert into hero(id,name,title,passive,q,w,e,r) value('${heroid}','${name}','${title}','${passive}','${q}','${w}','${e}','${r}')`, function (error, results, fields) {
                if (error) throw error;
            });

        }
        done();
    }
});

c.queue('https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js');